/**
 * @author joshua
 */
joshua.clientes.Form=Ext.extend(Ext.Window,{
	labelWidth: 120,
	url:joshua.url,
	frame:true,
	width: 405,
	layout:'fit',
	height:250,
 	cmd:'',
	buttonAlign:'center',
	modal:true,
	idActualizar:'',
	success:null,
 	initComponent:function(){

		this.form= new Ext.form.FormPanel({
            layout:'fit',
            border: false,
            frame: false,
			items:joshua.persona.tabs
		});
		var config={
			items:this.form,
			buttons:[{
				text:'<b>Guardar</b>',	
				iconCls:'save',
				scope:this,
				handler: function(){
					this.guardarForm();
	/*				success:function (form,action){
	 					var respuesta=Ext.util.JSON.decode(action.response.responseText);
						joshua.clientes.grid.store.reload({params:{start: 0,limit:joshua.PAGINA_CUANTOS, condiciones:'{"txtId":"'+respuesta.id+'"}'}});
						w.limpiarForm();
						joshua.clientes.ventana_form.hide();
					}, 
	*/
				}
			},{
				text:'<b>Cancelar</b>',
				iconCls:'delete',
				scope:this,
				handler:function(){
					this.hide();
				}
			}]
		};
		Ext.apply(this,config);
		joshua.clientes.Form.superclass.initComponent.apply(this,arguments);

        this.addEvents("agregado");
 	},

 	guardarForm:function(){
		if (this.form.getForm().isValid()) {
			var w=this;
			this.form.getForm().submit({
				url:"Servicios/s.php",
				scope:this,
				params:{
					cmd:this.cmd,
					txtId:this.idActualizar,
					className:'Cliente'
				},
				success:function (ress,action){
                    var respuesta=Ext.util.JSON.decode(action.response.responseText);
                    this.limpiarForm();
                    this.fireEvent("agregado", this, respuesta);
                },
				waitMsg:'Guardando...'
			});
		}else
			joshua.funciones.alert('aviso','Aviso',"Faltan datos por completar o algunos no son validos");
	
 	},


 	cargarForm:function(id){ 
		//se le asocia el mensaje de "cargando..."
		this.form.getForm().waitMsgTarget=this.getEl(); 		 		
		
 		this.form.load({
 			url:joshua.url,
 			scope:this,
 			params:{cmd:'cargar',txtId:id,className:'Cliente'},
 			waitMsg:'Cargando...'
		//	success:function(){
		//		this.joshua.sucursales.store.load(); 				
		//	}
 		});
 	},

 	limpiarForm:function(){
 		this.form.getForm().reset();
 	},

    
	mostrarForm: function (_cmd,id_cliente){
	
        if(_cmd=="insertar"){
            this.cmd="insertar";
            this.setTitle("Agregar cliente",'cliente_nuevo');
            this.idActualizar="";
            this.limpiarForm();
            this.show(this);
        }
        else{
            if(id_cliente!=undefined && id_cliente){
                this.cmd="editar";
                this.cargarForm(id_cliente);
                this.idActualizar=id_cliente;
                this.setTitle("Editar cliente",'cliente_editar');
                this.show(this);
            }
            else
                joshua.funciones.alert('aviso','Aviso!',"Por favor selecccione un cliente para editar");
        }
    }
});
